1. Field of the Invention
The present invention relates to an information processing system and method, in which a plurality of computers are connected via a high-speed communication line, memories (or their portions) arranged in the respective computers constitute a single memory space as a whole, and the entire system can operate in the form of an NUMA (Non Uniform Memory Access) type multi-processor system (in the form that although an access to a memory arranged in a subject computer is made at high speed and an access to memories arranged in other computers is made at low speed when viewed from a given computer, since these memories form a single memory space as a whole, the computers can also be used as a multi-processor system).
2. Related Background Art
Conventionally, in a computer system in which computers are connected via a low-speed communication line such as a LAN (Local Area Network), when a program is executed in large amount on a subject computer, and the processor in the subject computer becomes busy, an OS (operating system) having a process migration function can migrate the process in execution to another computer connected via the communication line, thus effectively utilizing the processor on the other computer.
However, in the case of the process migration function, in order to migrate and re-execute a process, the memory contents (text, data, or stack) required for executing the process, the process management table in the OS, and the like must be transferred to the memory on the computer as the migration destination, resulting in a large overhead.
In migrating and re-executing a process, the following limitations are often imposed. That is,
1. Migration can only be made upon generation of a process. PA1 2. The parent/child relationship of the migrated process cannot be maintained. PA1 3. The migrated process cannot generate a new child process.
This is because it is very hard to maintain consistency between process management information in the destination OS and that in the source OS.
Conventionally, in a computer system in which a plurality of computers are connected via a low-speed communication line such as a LAN, upon generation and start of a user program as a process, if the physical memory on a computer which is to generate the process is insufficient, the OS having a virtual memory function performs a page-out operation of the contents of physical pages with a low use ratio to a secondary memory device of the subject computer or another computer.
In this case, even when the physical memory on the other computer connected via the communication line has a sufficient memory space, the physical memory cannot be directly utilized. This is because no hardware arrangement which can directly disclose the physical memory of another computer can be adopted due to the low-speed communication line.
However, in recent years, the advent of communication media such as an optical cable, which has high reliability and performance relatively close to that of the internal bus of a computer allows to adopt an arrangement which can directly disclose the physical memory to another computer. Thus, a system in which memories (or their portions) arranged in computers constitute a single memory space and the memory space can be directly accessed by any computer is proposed. In this system, if a memory on another computer has a sufficient memory space, it can be assured or secured and directly utilized without executing the above-mentioned page-out operation.
However, when the physical memory on the computer which is to generate a process is insufficient, if physical pages are secured without rules from a plurality of computers upon securing of pages from another computer, memory pages required for executing the process are distributed to a plurality of computers. If execution of the process proceeds in such a state, the processing efficiency of the system is impaired.
This is because if the processor on which the process runs and the physical memory to be used are present on the same computer, a high processing speed of the process can be secured due to a high-speed memory access. However, if the processor and the physical memory are present on different computers connected via the communication line, the processing speed of the process becomes low due to a low-speed memory access.
In order to solve the above-mentioned problems, the present applicant has proposed a computer system in U.S. Ser. No. 334,373 filed previously. In this system, when a process is generated and started, and secures physical pages, if no more pages cannot be secured on the computer on which the process is running, the remaining pages are secured from a single computer as much as possible in place of randomly securing the pages from a plurality of computers. It is then checked which is more efficient to execute the process on the subject computer or on another computer. If it is determined that the process is to be executed on the other computer to obtain high efficiency, the OS of the source computer migrates context information required for executing the process to the computer which is determined to assure high efficiency, and the destination computer proceeds with execution of the process, thereby improving the processing efficiency of the process.
However, in the case of the process migration technique for migrating the context information to proceed with the execution of the process, when the process migrates, limitations which are not imposed in normal processes are imposed. For example, the parent/child relationship of processes cannot be maintained, the migrated process cannot generate a new child process. This is because it is very hard to maintain consistency between process management information in the destination OS and that in the source OS.
Although the memory contents (program, data, or stack) need not be transferred, the context information (the register values of a processor, the allocation information of a page memory in use, and the like) must be migrated, and depending on the transfer amount of context information, the load on the communication line, and the load on the transfer processing of the processor pose other problems.